<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Glossary</TITLE>
<META NAME="author" CONTENT="Pat Niemeyer and Josh Peck">
<META NAME="date" CONTENT="Tue Jul 22 19:04:52 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="Java">
<META NAME="title" CONTENT="Exploring Java">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Exploring Java" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch14_02.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Glossary</FONT></B></TD>
<td width=172 align=right valign=top>&nbsp;</td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<DIV CLASS=glossary>
<H1 CLASS=glossary><A CLASS="TITLE" NAME="EXJ-GLOSSARY">Glossary</A></H1>

<P CLASS=para>
<DL>
<DT CLASS=glossentry>abstract<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>abstract</tt> keyword is used to declare abstract
methods and classes. An abstract method has no implementation
defined; it is declared with arguments and a return type as usual, but
the body enclosed in curly braces is replaced with a semicolon. The
implementation of an abstract method is provided by a subclass of the
class in which it is defined. If an abstract method appears in a
class, the class is also abstract.
<P>
<DT CLASS=glossentry>API (Application Programming Interface)<DD CLASS=glossdef>

<P CLASS=para>

An API consists of the functions and variables
programmers are use in their applications.  The Java
API consists of all <tt CLASS=literal>public</tt> and
<tt CLASS=literal>protected</tt> methods of all <tt CLASS=literal>public</tt>
classes in the <tt CLASS=literal>java.applet</tt>,
<tt CLASS=literal>java.awt</tt>, <tt CLASS=literal>java.awt.image</tt>,
<tt CLASS=literal>java.awt.peer</tt>, <tt CLASS=literal>java.io</tt>,
<tt CLASS=literal>java.lang</tt>, <tt CLASS=literal>java.net</tt>, and
<tt CLASS=literal>java.util</tt> packages.

<P>
<DT CLASS=glossentry>applet<DD CLASS=glossdef>

<P CLASS=para>
An embedded Java application that runs in the context of an applet
viewer, such as a Web browser.

<P>
<DT CLASS=glossentry>&lt;applet&gt; tag<DD CLASS=glossdef>

<P CLASS=para>
HTML tag that specifies an applet run within a Web
document.

<P>
<DT CLASS=glossentry>applet viewer<DD CLASS=glossdef>

<P CLASS=para>
An application that implements the additional structure
needed to run and display Java applets. An applet viewer can be a
Web browser like HotJava or Netscape Navigator, or a separate
program like Sun's <I CLASS=emphasis>appletviewer</I>.

<P>
<DT CLASS=glossentry>application<DD CLASS=glossdef>

<P CLASS=para>
A Java program that runs standalone; i.e., it doesn't require an applet viewer.

<P>
<DT CLASS=glossentry>AWT (Abstract Windowing Toolkit)<DD CLASS=glossdef>

<P CLASS=para>

Java's platform-independent windowing, graphics, and user-interface
toolkit.

<P>
<DT CLASS=glossentry>boolean<DD CLASS=glossdef>

<P CLASS=para>

A primitive Java data type that contains a truth value. The two
possible values of a <tt CLASS=literal>boolean</tt> variable are
<tt CLASS=literal>true</tt> and <tt CLASS=literal>false</tt>.
<P>
<DT CLASS=glossentry>byte<DD CLASS=glossdef>

<P CLASS=para>

A primitive Java data type that's an 8-bit two's-complement signed
number (in all implementations).
<P>
<DT CLASS=glossentry>callback<DD CLASS=glossdef>

<P CLASS=para>
A behavior that is defined by one object and then later invoked by
another object when a particular event occurs.

<P>
<DT CLASS=glossentry>cast<DD CLASS=glossdef>

<P CLASS=para>
A technique that explicitly converts one data type to another.

<P>
<DT CLASS=glossentry>catch<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>catch</tt> statement introduces an exception-handling
block of code following a <tt CLASS=literal>try</tt> statement. The
<tt CLASS=literal>catch</tt> keyword is followed by an exception type
and argument name in parentheses, and a block of code within
curly braces.

<P>
<DT CLASS=glossentry>char<DD CLASS=glossdef>

<P CLASS=para>

A primitive Java data type; a variable of type <tt CLASS=literal>char</tt>
holds a single 16-bit Unicode character.
<P>
<DT CLASS=glossentry>class<DD CLASS=glossdef>

<P CLASS=para>

a) An encapsulated collection of data and methods to operate on
the data. A class may be instantiated to produce an
object that's an instance of the class.

<P CLASS=para>

b) The <tt CLASS=literal>class</tt> keyword is used to declare a class,
thereby defining a new object type. Its syntax is similar
to the <tt CLASS=literal>struct</tt> keyword in C.

<P>
<DT CLASS=glossentry>class loader<DD CLASS=glossdef>

<P CLASS=para>
An object in the Java security model that is responsible for loading
Java binary classes from the network into the local interpreter. A
class loader keeps its classes in a separate namespace, so that loaded
classes cannot interact with system classes and breach system
security.

<P>
<DT CLASS=glossentry>class method<DD CLASS=glossdef>

<P CLASS=para>

A method declared <tt CLASS=literal>static</tt>. Methods of this type are
not passed implicit <tt CLASS=literal>this</tt> references and may
refer only to class variables and invoke other class methods of
the current class. A class method may be invoked through
the class name, rather than through an instance of the
class.

<P>
<DT CLASS=glossentry>class path<DD CLASS=glossdef>

<P CLASS=para>
The directory path specifying the location of compiled Java class files
on the local system.

<P>
<DT CLASS=glossentry>class variable<DD CLASS=glossdef>

<P CLASS=para>

A variable declared <tt CLASS=literal>static</tt>. Variables of this type
are associated with the class, rather than with a particular
instance of the class. There is only one copy of a static
variable, regardless of the number of instances of the class
that are created.

<P>
<DT CLASS=glossentry>client<DD CLASS=glossdef>

<P CLASS=para>
The application that initiates a conversation as part of a networked
client/server application. See server.

<P>
<DT CLASS=glossentry>compilation unit<DD CLASS=glossdef>

<P CLASS=para>
The source code for a Java class.  A compilation unit normally
contains a single class definition, and in most current development
environments is just a file with a <I CLASS=emphasis>.java</I>
extension.

<P>
<DT CLASS=glossentry>compiler<DD CLASS=glossdef>

<P CLASS=para>
A program that translates source code into executable code.
<P>
<DT CLASS=glossentry>component<DD CLASS=glossdef>

<P CLASS=para>

Any of the GUI primitives implemented in the
<tt CLASS=literal>java.awt</tt> package as subclasses of <tt CLASS=literal>Component</tt>.
The classes <tt CLASS=literal>Button</tt>, <tt CLASS=literal>Choice</tt>, and
<tt CLASS=literal>TextField</tt> (among many others) are components.

<P>
<DT CLASS=glossentry>composition<DD CLASS=glossdef>

<P CLASS=para>

Using objects as part of another, more complex object. When you
compose a new object, you create complex behavior by delegating tasks
to the internal objects. Composition is different from inheritance,
which defines a new object by changing or refining the behavior of an
old object. See inheritance.
<P>
<DT CLASS=glossentry>constructor<DD CLASS=glossdef>

<P CLASS=para>

A method that is invoked automatically when a new instance
of a class is created. Constructors are used to initialize
the variables of the newly created object. The constructor 
method has the same name as the class.

<P>
<DT CLASS=glossentry>container<DD CLASS=glossdef>

<P CLASS=para>

One of the <tt CLASS=literal>java.awt</tt> classes that "contain"
GUI components. Components in a container appear
within the boundaries of the container. The classes
<tt CLASS=literal>Dialog</tt>, <tt CLASS=literal>Frame</tt>,
<tt CLASS=literal>Panel</tt>, and <tt CLASS=literal>Window</tt> are
containers.
<P>
<DT CLASS=glossentry>content handler<DD CLASS=glossdef>

<P CLASS=para>
A class that recognizes the content type of particular
data, parses it, and converts it to an appropriate object.

<P>
<DT CLASS=glossentry>datagram<DD CLASS=glossdef>

<P CLASS=para>
A packet of data sent to a receiving computer without
warning, error checking, or other control information.

<P>
<DT CLASS=glossentry>data hiding<DD CLASS=glossdef>

<P CLASS=para>

See encapsulation.
<P>
<DT CLASS=glossentry>double<DD CLASS=glossdef>

<P CLASS=para>

A Java primitive data type;a <tt CLASS=literal>double</tt> value is a
64-bit (double-precision) floating-point number.

<P>
<DT CLASS=glossentry>encapsulation<DD CLASS=glossdef>

<P CLASS=para>

An object-oriented programming technique that makes an object's data
<tt CLASS=literal>private</tt> or <tt CLASS=literal>protected</tt> (i.e.,
hidden) and allows programmers to access and manipulate that data only
through method calls. Done well, encapsulation reduces bugs and
promotes reusability and modularity of classes. This technique is also
known as data hiding.
<P>
<DT CLASS=glossentry>event<DD CLASS=glossdef>

<P CLASS=para>
A user's action, such as a mouse click or key press.

<P>
<DT CLASS=glossentry>exception<DD CLASS=glossdef>

<P CLASS=para>

A signal that some unexpected condition has occurred in the
program. In Java, exceptions are objects that are subclasses of
<tt CLASS=literal>Exception</tt> or <tt CLASS=literal>Error</tt> (which
themselves are subclasses of <tt CLASS=literal>Throwable</tt>). Exceptions
in Java are "raised" with the <tt CLASS=literal>throw</tt> keyword and
received with the <tt CLASS=literal>catch</tt> keyword. See
<tt CLASS=literal>throw</tt>, <tt CLASS=literal>throws</tt>, and
<tt CLASS=literal>catch</tt>.

<P>
<DT CLASS=glossentry>extends<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>extends</tt> keyword is used in a
<tt CLASS=literal>class</tt> declaration to specify the superclass of the
class being defined. The class being defined has access to all the
<tt CLASS=literal>public</tt> and <tt CLASS=literal>protected</tt> variables
and methods of the superclass (or, if the class being defined is in
the same package, it has access to all non-<tt CLASS=literal>private</tt>
variables and methods). If a class definition omits the
<tt CLASS=literal>extends</tt> clause, its superclass is taken to be
<tt CLASS=literal>java.lang.Object</tt>.  
<P>
<DT CLASS=glossentry>final<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>final</tt> keyword is a modifier that may be applied
to classes, methods, and variables. It has a similar, but not
identical meaning in each case. When <tt CLASS=literal>final</tt> is
applied to a class, it means that the class may never be
subclassed. <tt CLASS=literal>java.lang.System</tt> is an example of a
<tt CLASS=literal>final</tt> class. When <tt CLASS=literal>final</tt> is
applied to a variable, the variable is a constant; i.e., it can't be
modified.
<P>
<DT CLASS=glossentry>finalize<DD CLASS=glossdef>

<P CLASS=para>

<tt CLASS=literal>finalize</tt> is not actually a Java keyword, but a
reserved method name. The finalizer is called when an object is no
longer being used (i.e., when there are no further references to it),
but before the object's memory is actually reclaimed by the system. A
finalizer should perform cleanup tasks and free system resources not
handled by Java's garbage-collection system.

<P>
<DT CLASS=glossentry>finally<DD CLASS=glossdef>

<P CLASS=para>

This keyword introduces the <tt CLASS=literal>finally</tt> block of a
<tt CLASS=literal>try</tt>/<tt CLASS=literal>catch</tt>/<tt CLASS=literal>finally</tt>
construct.  <tt CLASS=literal>catch</tt> and <tt CLASS=literal>finally</tt>
blocks provide exception handling and routine cleanup for code in
a <tt CLASS=literal>try</tt> block. The <tt CLASS=literal>finally</tt> block
is optional, and appears after the <tt CLASS=literal>try</tt> block, and
after zero or more <tt CLASS=literal>catch</tt> blocks. The code in a
<tt CLASS=literal>finally</tt> block is executed once, regardless of how
the code in the <tt CLASS=literal>try</tt> block executes. In normal
execution, control reaches the end of the <tt CLASS=literal>try</tt> block
and proceeds to the <tt CLASS=literal>finally</tt> block, which
generally performs any necessary cleanup.
<P>
<DT CLASS=glossentry>float<DD CLASS=glossdef>

<P CLASS=para>

A Java primitive data type; a <tt CLASS=literal>float</tt> value is a
32-bit (single-precision) floating-point number represented in
IEEE 754 format.

<P>
<DT CLASS=glossentry>garbage collection<DD CLASS=glossdef>

<P CLASS=para>

The process of reclaiming the memory of objects no
longer in use. An object is no longer in use when there are
no references to it from other objects in the system and
no references in any local variables on the method call
stack.

<P>
<DT CLASS=glossentry>GC<DD CLASS=glossdef>

<P CLASS=para>

An abbreviation for garbage collection or garbage collector (or
occasionally "graphics context").

<P>
<DT CLASS=glossentry>graphics context<DD CLASS=glossdef>

<P CLASS=para>
A drawable surface represented by the <tt CLASS=literal>java.awt.Graphics</tt>
class.  A graphics context contains contextual information about the
drawing area and provides methods for performing drawing operations in
it.

<P>
<DT CLASS=glossentry>GUI (graphical user interface)<DD CLASS=glossdef>

<P CLASS=para>

A GUI is a user interface constructed from
graphical push buttons, text fields, pull-down menus, dialog boxes,
and other standard interface components.  In Java,
GUIs are implemented with the classes in the
<tt CLASS=literal>java.awt</tt> package.

<P>
<DT CLASS=glossentry>hashcode<DD CLASS=glossdef>

<P CLASS=para>
An arbitrary-looking identifying number used as a kind of signature
for an object. A hashcode stores an object in a hashtable.  See
hashtable.

<P>
<DT CLASS=glossentry>hashtable<DD CLASS=glossdef>

<P CLASS=para>
An object that is like a dictionary or an associative array.  A
hashtable stores and retrieves elements using key values called
hashcodes.  See hashcode.

<P>
<DT CLASS=glossentry>hostname<DD CLASS=glossdef>

<P CLASS=para>
The name given to an individual computer attached to the Internet.

<P>
<DT CLASS=glossentry>HotJava<DD CLASS=glossdef>

<P CLASS=para>
A WWW browser written in Java that is capable of
downloading and running Java applets.

<P>
<DT CLASS=glossentry>ImageConsumer<DD CLASS=glossdef>

<P CLASS=para>

An interface for receiving image data from an image source. Image
consumers are usually implemented by the <tt CLASS=literal>awt.peer</tt>
interface, so they are largely invisible to programmers.
<P>
<DT CLASS=glossentry>ImageObserver<DD CLASS=glossdef>

<P CLASS=para>

An interface in the <tt CLASS=literal>java.awt.image</tt> package that
receives information about the status of an image being
constructed by a particular <tt CLASS=literal>ImageConsumer</tt>.
<P>
<DT CLASS=glossentry>ImageProducer<DD CLASS=glossdef>

<P CLASS=para>

An interface in the <tt CLASS=literal>java.awt.image</tt> package that
represents an image source (i.e., a source of pixel data).
<P>
<DT CLASS=glossentry>implements<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>implements</tt> keyword is used in class
declarations to indicate that the class implements the named interface
or interfaces. The <tt CLASS=literal>implements</tt> clause is optional in
class declarations; if it appears, it must follow the
<tt CLASS=literal>extends</tt> clause (if any). If an
<tt CLASS=literal>implements</tt> clause appears in the declaration of a
non-<tt CLASS=literal>abstract</tt> class, every method from each
specified interface must be implemented by the class or by one of its
superclasses.
<P>
<DT CLASS=glossentry>import<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>import</tt> statement makes Java classes available
to the current class under an abbreviated name. (Java classes are
always available by their fully qualified name, assuming the
appropriate class file can be found relative to the
<tt CLASS=literal>CLASSPATH</tt> environment variable and that the class
file is readable. <tt CLASS=literal>import</tt> doesn't make the class
available; it just saves typing and makes your code more legible). Any
number of <tt CLASS=literal>import</tt> statements may appear in a Java
program. They must appear, however, after the optional
<tt CLASS=literal>package</tt> statement at the top of the file, and
before the first class or interface definition in the file.
<P>
<DT CLASS=glossentry>inheritance<DD CLASS=glossdef>

<P CLASS=para>

An important feature of object-oriented programming that involves
defining a new object by changing or refining the behavior of an
existing object. That is, an object implicitly contains all the
non-<tt CLASS=literal>private</tt> variables of its superclass and can
invoke all the non-<tt CLASS=literal>private</tt> methods of its
superclass. Java supports single inheritance of classes and multiple
inheritance of interfaces.
<P>
<DT CLASS=glossentry>instance<DD CLASS=glossdef>

<P CLASS=para>

An object. When a class is instantiated to produce an object, we say
the object is an instance of the class.

<P>
<DT CLASS=glossentry>instance method<DD CLASS=glossdef>

<P CLASS=para>

A non-<tt CLASS=literal>static</tt> method of a class. Such a method is
passed an implicit <tt CLASS=literal>this</tt> reference to the object that
invoked it. See also class method and <tt CLASS=literal>static</tt>.

<P>
<DT CLASS=glossentry>instanceof<DD CLASS=glossdef>

<P CLASS=para>

<tt CLASS=literal>instanceof</tt> is a Java operator that returns
<tt CLASS=literal>true</tt> if the object on its left-hand side is an
instance of the class (or implements the interface)
specified on its right-hand side. <tt CLASS=literal>instanceof</tt>
returns <tt CLASS=literal>false</tt> if the object is not an instance of
the specified class or does not implement the specified
interface. It also returns <tt CLASS=literal>false</tt> if the specified
object is <tt CLASS=literal>null</tt>.
<P>
<DT CLASS=glossentry>instance variable<DD CLASS=glossdef>

<P CLASS=para>

A non-<tt CLASS=literal>static</tt> variable of a class. Copies of such
variables occur in every instance of the created class. See also class
variable and <tt CLASS=literal>static</tt>.

<P>
<DT CLASS=glossentry>int<DD CLASS=glossdef>

<P CLASS=para>

A primitive Java data type that's a 32-bit two's-complement signed
number (in all implementations).
<P>
<DT CLASS=glossentry>interface<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>interface</tt> keyword is used to declare an
interface. More generally, an interface defines a list of methods that enables
a class to implement the interface itself.
<P>
<DT CLASS=glossentry>interpreter<DD CLASS=glossdef>

<P CLASS=para>
The module that decodes and executes Java bytecode.

<P>
<DT CLASS=glossentry>ISO8859-1<DD CLASS=glossdef>

<P CLASS=para>

An 8-bit character encoding standardized by the
ISO. This encoding is also known as Latin-1 and
contains characters from the Latin alphabet suitable for English and
most languages of western Europe.

<P>
<DT CLASS=glossentry>ISO10646<DD CLASS=glossdef>

<P CLASS=para>

A 4-byte character encoding that includes all of the world's national
standard character encodings. Also known as
UCS. The 2-byte Unicode character set maps to the
range 0x00000000 to 0x0000FFFF of ISO 10646.
<P>
<DT CLASS=glossentry>Java WorkShop<DD CLASS=glossdef>

<P CLASS=para>

Sun's Web browser-based tool written in Java for the development
of Java applications.
<P>
<DT CLASS=glossentry>JDK (Java Development Kit)<DD CLASS=glossdef>

<P CLASS=para>

A package of software distributed by Sun Microsystems for Java
developers. It includes the Java interpreter, Java classes, and Java
development tools: compiler, debugger, disassembler, appletviewer,
stub file generator, and documentation generator.
<P>
<DT CLASS=glossentry>JavaScript<DD CLASS=glossdef>

<P CLASS=para>

A language for creating dynamic Web pages developed by Netscape. From
a programmer's point of view, it's unrelated to Java, although some of
its capabilities are similar. Internally, there may be a relationship,
but even that is unclear.
<P>
<DT CLASS=glossentry>layout manager<DD CLASS=glossdef>

<P CLASS=para>
An object that controls the arrangement of components within the
display area of a container.  The <tt CLASS=literal>java.awt</tt> package
contains a number of layout managers that provide different layout
styles.

<P>
<DT CLASS=glossentry>Latin-1<DD CLASS=glossdef>

<P CLASS=para>
A nickname for ISO8859-1.

<P>
<DT CLASS=glossentry>local variable<DD CLASS=glossdef>

<P CLASS=para>
A variable that is declared inside a single method.  A local variable
can be seen only by code within that method.

<P>
<DT CLASS=glossentry>long<DD CLASS=glossdef>

<P CLASS=para>

A primitive Java data type that's a 64-bit
two's-complement signed number (in all implementations).

<P>
<DT CLASS=glossentry>method<DD CLASS=glossdef>

<P CLASS=para>

The object-oriented programming term for a function or
procedure. 

<P>
<DT CLASS=glossentry>method overloading<DD CLASS=glossdef>

<P CLASS=para>
Providing definitions of more than one method with the same name but
with different argument lists or return values. When an overloaded
method is called, the compiler determines which one is intended by
examining the supplied argument types.

<P>
<DT CLASS=glossentry>method overriding<DD CLASS=glossdef>

<P CLASS=para>
Defining a method that exactly matches (i.e., same name,
same argument types, and same return type) a method defined
in a superclass. When an overridden method is invoked, the
interpreter uses "dynamic method lookup" to determine which
method definition is applicable to the current object.

<P>
<DT CLASS=glossentry>modifier<DD CLASS=glossdef>

<P CLASS=para>
A keyword placed before a class, variable, or method that alters
the item's accessibility, behavior, or semantics.  See
<tt CLASS=literal>abstract</tt>, <tt CLASS=literal>final</tt>,
<tt CLASS=literal>native</tt>, <tt CLASS=literal>private</tt>,
<tt CLASS=literal>private protected</tt>, <tt CLASS=literal>protected</tt>,
<tt CLASS=literal>public</tt>, <tt CLASS=literal>static</tt>, and
<tt CLASS=literal>synchronized</tt>.

<P>
<DT CLASS=glossentry>Model/View/Controller (MVC)
framework<DD CLASS=glossdef>

<P CLASS=para>

A user-interface design that originated in Smalltalk.  In
MVC, the data for a display item is called the
"model." A "view" displays a particular representation of the model,
and a "controller" provides user interaction with both. Java
incorporates many MVC concepts.
<P>
<DT CLASS=glossentry>NaN (not-a-number)<DD CLASS=glossdef>

<P CLASS=para>

This is a special value of the <tt CLASS=literal>double</tt> and
<tt CLASS=literal>float</tt> data types that represents an undefined
result of a mathematical operation, such as zero divided by zero.

<P>
<DT CLASS=glossentry>native<DD CLASS=glossdef>

<P CLASS=para>

<tt CLASS=literal>native</tt> is a modifier that may be applied to method
declarations. It indicates that the method is implemented
(elsewhere) in C, or in some other platform-dependent
fashion. A <tt CLASS=literal>native</tt> method should have a semicolon
instead of a body. A <tt CLASS=literal>native</tt> method cannot be
<tt CLASS=literal>abstract</tt>, but all other method modifiers may be used
with <tt CLASS=literal>native</tt> methods.

<P>
<DT CLASS=glossentry>native method<DD CLASS=glossdef>

<P CLASS=para>
A method that is implemented in a native language on a host
platform, rather than being implemented in Java.  Native methods
provide access to such resources as the network, the windowing
system, and the host filesystem.

<P>
<DT CLASS=glossentry>new<DD CLASS=glossdef>

<P CLASS=para>

<tt CLASS=literal>new</tt> is a unary operator that creates a new object or
array (or raises an <tt CLASS=literal>OutOfMemoryException</tt> if there is
not enough memory available).

<P>
<DT CLASS=glossentry>null<DD CLASS=glossdef>

<P CLASS=para>

<tt CLASS=literal>null</tt> is a special value that indicates a variable
doesn't refer to any object. The value <tt CLASS=literal>null</tt> may be
assigned to any class or interface variable. It cannot be cast to any
integral type, and should not be considered equal to zero, as in C.

<P>
<DT CLASS=glossentry>object<DD CLASS=glossdef>

<P CLASS=para>

An instance of a class. A class models a group
of things; an object models a particular member of that
group.

<P>
<DT CLASS=glossentry>package<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>package</tt> statement specifies which package the
code in the file is part of. Java code that is part of a particular
package has access to all classes (<tt CLASS=literal>public</tt> and
non-<tt CLASS=literal>public</tt>) in the package, and all
non-<tt CLASS=literal>private</tt> methods and fields in all those
classes. When Java code is part of a named package, the compiled class
file must be placed at the appropriate position in the
<tt CLASS=literal>CLASSPATH</tt> directory hierarchy before it can be
accessed by the Java interpreter or other utilities.  If the
<tt CLASS=literal>package</tt> statement is omitted from a file, the code
in that file is part of an unnamed default package.  This is
convenient for small test programs, or during development because it
means the code can be interpreted from the current directory.

<P>
<DT CLASS=glossentry>&lt;param&gt; tag<DD CLASS=glossdef>

<P CLASS=para>

HTML tag used within
<tt CLASS=literal>&lt;applet&gt;</tt>
... <tt CLASS=literal>&lt;/applet&gt;</tt> to specify a named parameter
and string value to an applet within a Web page.
<P>
<DT CLASS=glossentry>peer<DD CLASS=glossdef>

<P CLASS=para>
 

The actual implementation of a GUI component on a
specific platform.  Peer components reside within a
<tt CLASS=literal>Toolkit</tt> object. See <tt CLASS=literal>Toolkit</tt>.
<P>
<DT CLASS=glossentry>primitive type<DD CLASS=glossdef>

<P CLASS=para>

One of the Java data types: <tt CLASS=literal>boolean</tt>,
<tt CLASS=literal>char</tt>, <tt CLASS=literal>byte</tt>,
<tt CLASS=literal>short</tt>, <tt CLASS=literal>int</tt>,
<tt CLASS=literal>long</tt>, <tt CLASS=literal>float</tt>,
<tt CLASS=literal>double</tt>. Primitive types are manipulated, assigned,
and passed to methods "by value" (i.e., the actual bytes of the data
are copied).  See also reference type.

<P>
<DT CLASS=glossentry>private<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>private</tt> keyword is a visibility modifier that
can be applied to method and field variables of classes. A
<tt CLASS=literal>private</tt> field is not visible outside its class
definition.
<P>
<DT CLASS=glossentry>private protected<DD CLASS=glossdef>

<P CLASS=para>

When the <tt CLASS=literal>private</tt> and <tt CLASS=literal>protected</tt>
visibility modifiers are both applied to a variable or method in a
class, they indicate the field is visible only within the class
itself and within subclasses of the class. Note that subclasses can
access only <tt CLASS=literal>private protected</tt> fields within
themselves or within other objects that are subclasses; they cannot
access those fields within instances of the superclass.
<P>
<DT CLASS=glossentry>protected<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>protected</tt> keyword is a visibility modifier that
can be applied to method and field variables of classes. A
<tt CLASS=literal>protected</tt> field is visible only within its class,
within subclasses, or within the package of which its class is a
part. Note that subclasses in different packages can access only
<tt CLASS=literal>protected</tt> fields within themselves or within other
objects that are subclasses; they cannot access protected fields
within instances of the superclass.
<P>
<DT CLASS=glossentry>protocol handler<DD CLASS=glossdef>

<P CLASS=para>

Software that describes and enables the use of a new protocol. A
protocol handler consists of two classes: a
<tt CLASS=literal>StreamHandler</tt> and a
<tt CLASS=literal>URLConnection</tt>.
<P>
<DT CLASS=glossentry>public<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>public</tt> keyword is a visibility modifier that
can be applied to classes and interfaces and to the method and field
variables of classes and interfaces. A <tt CLASS=literal>public</tt> class
or interface is visible everywhere. A non-<tt CLASS=literal>public</tt>
class or interface is visible only within its package. A
<tt CLASS=literal>public</tt> method or variable is visible everywhere its
class is visible. When none of the <tt CLASS=literal>private</tt>,
<tt CLASS=literal>protected</tt> or <tt CLASS=literal>public</tt> modifiers is
specified, a field is visible only within the package of which its
class is a part.
<P>
<DT CLASS=glossentry>reference type<DD CLASS=glossdef>

<P CLASS=para>

Any object or array. Reference types are manipulated,
assigned, and passed to methods "by reference." In other words, the
underlying value is not copied; only a reference to it is.
See also primitive type.

<P>
<DT CLASS=glossentry>root<DD CLASS=glossdef>

<P CLASS=para>

The base of a hierarchy, such as a root class, whose descendants are
subclasses. The <tt CLASS=literal>java.lang.Object</tt> class serves as
the root of the Java class hierarchy.
<P>
<DT CLASS=glossentry>SecurityManager<DD CLASS=glossdef>

<P CLASS=para>

The Java class that defines the methods the system calls to check
whether a certain operation is permitted in the current environment.
<P>
<DT CLASS=glossentry>server<DD CLASS=glossdef>

<P CLASS=para>
The application that accepts a request for a conversation as part of a
networked client/server application.  See client.

<P>
<DT CLASS=glossentry>shadow<DD CLASS=glossdef>

<P CLASS=para>

To declare a variable with the same name as a variable defined in a
superclass. We say the variable "shadows" the superclass's
variable. Use the <tt CLASS=literal>super</tt> keyword to refer to the
shadowed variable, or refer to it by casting the object to the type of
the superclass.

<P>
<DT CLASS=glossentry>short<DD CLASS=glossdef>

<P CLASS=para>

A primitive Java data type that's a 16-bit two's-complement signed
number (in all implementations).
<P>
<DT CLASS=glossentry>socket<DD CLASS=glossdef>

<P CLASS=para>

An interface that listens for connections from clients on a data port
and connects the client data stream with the receiving application.
<P>
<DT CLASS=glossentry>static<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>static</tt> keyword is a modifier applied to method
and variable declarations within a class. A <tt CLASS=literal>static</tt>
variable is also known as a class variable as opposed to
non-<tt CLASS=literal>static</tt> instance variables.  While each instance
of a class has a full set of its own instance variables, there is only
one copy of each <tt CLASS=literal>static</tt> class variable, regardless
of the number of instances of the class (perhaps zero) that are
created.  <tt CLASS=literal>static</tt> variables may be accessed by class
name or through an instance. Non-<tt CLASS=literal>static</tt> variables
can be accessed only through an instance.
<P>
<DT CLASS=glossentry>stream<DD CLASS=glossdef>

<P CLASS=para>

A flow of data, or a channel of communication. All fundamental I/O
in Java is based on streams.
<P>
<DT CLASS=glossentry>String<DD CLASS=glossdef>

<P CLASS=para>

A class used to represent textual information. The
<tt CLASS=literal>String</tt> class includes many methods for operating on
string objects. Java overloads the + operator for string
concatenation.
<P>
<DT CLASS=glossentry>subclass<DD CLASS=glossdef>

<P CLASS=para>

A class that extends another. The subclass inherits the
<tt CLASS=literal>public</tt> and <tt CLASS=literal>protected</tt> methods and
variables of its superclass. See <tt CLASS=literal>extends</tt>.
<P>
<DT CLASS=glossentry>super<DD CLASS=glossdef>

<P CLASS=para>

The keyword <tt CLASS=literal>super</tt> refers to the same value as
<tt CLASS=literal>this</tt>: the instance of the class for which the
current method (these keywords are valid only within
non-<tt CLASS=literal>static</tt> methods) was invoked. While the type of
<tt CLASS=literal>this</tt> is the type of the class in which the method
appears, the type of <tt CLASS=literal>super</tt> is the type of the
superclass of the class in which the method appears.
<tt CLASS=literal>super</tt> is usually used to refer to superclass
variables shadowed by variables in the current class. Using
<tt CLASS=literal>super</tt> in this way is equivalent to casting
<tt CLASS=literal>this</tt> to the type of the superclass.
<P>
<DT CLASS=glossentry>superclass<DD CLASS=glossdef>

<P CLASS=para>

A class extended by some other class. The superclass's
<tt CLASS=literal>public</tt> and <tt CLASS=literal>protected</tt> methods and
variables are available to the subclass. See
<tt CLASS=literal>extends</tt>.

<P>
<DT CLASS=glossentry>synchronized<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>synchronized</tt> keyword is used in two related
ways in Java: as a modifier and as a statement. First, it is a
modifier applied to class or instance methods.  It indicates that the
method modifies the internal state of the class or the internal state
of an instance of the class in a way that is not thread-safe. Before
running a <tt CLASS=literal>synchronized</tt> class method, Java obtains a
lock on the class, to ensure that no other threads can modify the
class concurrently. Before running a <tt CLASS=literal>synchronized</tt>
instance method, Java obtains a lock on the instance that invoked the
method, ensuring that no other threads can modify the object at the
same time.

<P CLASS=para>
Java also supports a <tt CLASS=literal>synchronized</tt> statement that 
serves to specify a "critical section" of code. The
<tt CLASS=literal>synchronized</tt> keyword is followed by an expression in
parentheses, and a statement or block of statements. The
expression must evaluate to an object or array. Java
obtains a lock on the specified object or array before
executing the statements.

<P>
<DT CLASS=glossentry>TCP<DD CLASS=glossdef>

<P CLASS=para>

Transmission Control Protocol. A connection-oriented, reliable
protocol. One of the protocols on which the Internet is based.
<P>
<DT CLASS=glossentry>this<DD CLASS=glossdef>

<P CLASS=para>

Within an instance method or constructor of a class,
<tt CLASS=literal>this</tt> refers to "this object"--the instance currently
being operated on. It is useful to refer to an instance
variable of the class that has been shadowed by a local
variable or method argument. It is also useful to pass the
current object as an argument to static methods or
methods of other classes.

<P CLASS=para>
There is one additional use of <tt CLASS=literal>this</tt>: when it
appears as the first statement in a constructor method, it refers to
one of the other constructors of the class.
<P>
<DT CLASS=glossentry>thread<DD CLASS=glossdef>

<P CLASS=para>

A single, independent stream of execution within a program.
Since Java is a "multithreaded" programming language, more
than one thread may be running within the Java interpreter
at a time. Threads in Java are represented and controlled
through the <tt CLASS=literal>Thread</tt> object.

<P>
<DT CLASS=glossentry>throw<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>throw</tt> statement signals that an exceptional
condition has occurred by throwing a specified exception
object. This statement stops program execution and
resumes it at the nearest containing <tt CLASS=literal>catch</tt> statement
that can handle the specified exception object. Note that
the <tt CLASS=literal>throw</tt> keyword must be followed by an exception
object, not an exception class.
<P>
<DT CLASS=glossentry>throws<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>throws</tt> keyword is used in a method declaration
to list the exceptions the method can throw. Any exceptions a method
can raise that are not subclasses of <tt CLASS=literal>Error</tt> or
<tt CLASS=literal>RuntimeException</tt> must either be caught within the
method or declared in the method's <tt CLASS=literal>throws</tt> clause.
<P>
<DT CLASS=glossentry>Toolkit<DD CLASS=glossdef>

<P CLASS=para>

The property of the Java API that defines the look
and feel of the user interface on a specific platform.
<P>
<DT CLASS=glossentry>try<DD CLASS=glossdef>

<P CLASS=para>

The <tt CLASS=literal>try</tt> keyword indicates a block of code to which
subsequent <tt CLASS=literal>catch</tt> and <tt CLASS=literal>finally</tt>
clauses apply. The <tt CLASS=literal>try</tt> statement itself performs no
special action. See the entries for <tt CLASS=literal>catch</tt> and
<tt CLASS=literal>finally</tt> for more information on the
<tt CLASS=literal>try</tt>/<tt CLASS=literal>catch</tt>/<tt CLASS=literal>finally</tt>
construct.
<P>
<DT CLASS=glossentry>UCS (universal character set)<DD CLASS=glossdef>

<P CLASS=para>

A synonym for ISO10646.  
<P>
<DT CLASS=glossentry>UDP<DD CLASS=glossdef>

<P CLASS=para>

User Datagram Protocol. A connectionless unreliable
protocol. UDP describes a network data connection
based on datagrams with little packet control.
<P>
<DT CLASS=glossentry>Unicode<DD CLASS=glossdef>

<P CLASS=para>

A 16-bit character encoding that includes all of the world's commonly
used alphabets and ideographic character sets in a "unified" form
(i.e., a form from which duplications among national standards have
been removed). ASCII and Latin-1 characters may be
trivially mapped to Unicode characters. Java uses Unicode for its
<tt CLASS=literal>char</tt> and <tt CLASS=literal>String</tt> types.
<P>
<DT CLASS=glossentry>UTF-8 (UCS transformation format 8-bit form)<DD CLASS=glossdef>

<P CLASS=para>

An encoding for Unicode characters (and more generally,
UCS characters) commonly used for transmission and
storage. It is a multibyte format in which different characters
require different numbers of bytes to be represented.

<P>
<DT CLASS=glossentry>vector<DD CLASS=glossdef>

<P CLASS=para>
A dynamic array of elements.

<P>
<DT CLASS=glossentry>verifier<DD CLASS=glossdef>

<P CLASS=para>
A theorem prover that steps through the Java byte-code before it
is run and makes sure that it is well-behaved.  The byte-code
verifier is the first line of defense in Java's security model.</DL>
</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch14_02.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top>&nbsp;</td>
</tr>
<tr>
<td width=172 align=left valign=top>Working with Audio</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>&nbsp;</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</body>
</html>
